﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        enum ordernumber
        {
            新订单,
            已发货,
            已签收,
            已评价
        }
        public enum fruit
        {
            西瓜,
            哈密瓜 = 50,
            奇异果,
            香蕉,
            葡萄,
            苹果,
            草莓
        }
        public enum RPG
        {
            战士,
            法师,
            精灵
        }
        static void Main(string[] args)
        {
            //1、编写程序，定义一个枚举类型，表示订单的状态值：新订单、已发货、已签收、已评价；声明一个枚举类型表示某个订单的状态并将其值输出。

            //2、有一款叫做“切水果”的游戏，里面有各种各样的水果，
            //A、现在请定义一个叫做“Fruit”的枚举类型，里面有：香蕉、苹果、西瓜、草莓、葡萄、哈密瓜、奇异果。
            //B、然后定义一个输出水果分数的方法，参数类型就是这个水果枚举，方法中根据不同的枚举值，输出水果对应的分数（可以参考切水果游戏）。
            //注：水果形状越小，切到的时候分数就越高。


            //3、RPG游戏中，通常有不同的职业，比如“战士”、“法师”、“精灵”等等职业，
            //A、现在请定义一个游戏职业的枚举。
            //B、然后定一个输出职业技能的方法，根据传入的职业枚举的值来输出，
            //战士的技能：碎石打击、烈焰锚钩、战斗咆哮
            //法师的技能：巨浪冲击、元素突击、复仇杀戮
            //精灵的技能：减速陷阱、能量浪潮、旋风剑舞
            oun1(RPG.战士);
            oun1(RPG.法师);
            oun1(RPG.精灵);
            ordernumber q = ordernumber.已发货;
            Console.WriteLine(q);

            Console.WriteLine("奇异果:" + oun(fruit.奇异果));
            Console.WriteLine("苹果" + oun(fruit.苹果));


            Class1 s1 = new Class1("孙悟空");
            Class1 s2 = new Class1("猪八戒");
            Class1 s3 = new Class1("沙和尚");
            Class1 s4 = new Class1("白龙马");
            s1.EoL6();
            s2.EoL6();
            s3.EoL6();
            s4.EoL6();
            Class1.EoL7();
            s1.EoL6();
            s2.EoL6();
            s3.EoL6();
            s4.EoL6();
        }
        public static bool EoL5(string[] b)
        {
            bool a = false;
            for (int i = 0; i < b.Length; i++)
            {
                if (b[i] == null)
                {
                    a = true;
                }
                if (b.Length == 0)
                {
                    a = true;
                }
            }
            Console.WriteLine(a);
            return a;
        }
        public void oun3() 
        {
            //1、写一个工具类StringUtil，在里面定义一个静态方法，用来判断字符串是否为空。
            //如果字符串是null，或者字符串是空""，或者字符串是N个空格"  "，那这个方法返回true，否则返回false
            //然后在主类中（有Main方法的类）调用测试。

            //2、写一个工具类ArrayUtil，在里面定义一个静态方法，用来判断数组是否为空。
            //如果数组是null，或者数组长度为0，那此方法返回true，否则返回false
            //然后在主类中（有Main方法的类）调用测试。
            int[] a = new int[5];
            for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine("输入第" + (i + 1) + "个数");
                int b = int.Parse(Console.ReadLine());
                a[i] = b;
            }
            int max = 0;
            int min = 0;
            int sum = 0;
            int avg = 0;
            EoL2(ref max, ref min, ref avg, a);
            Console.WriteLine("最大数：" + max);
            Console.WriteLine("最小数：" + min);
            Console.WriteLine("和" + EoL2(ref max, ref min, ref avg, a));
            Console.WriteLine("平均数：" + avg);
            EoL3(out max, out min, out avg, a);
            Console.WriteLine("最大数：" + max);
            Console.WriteLine("最小数：" + min);
            Console.WriteLine("和" + EoL3(out max, out min, out avg, a));
            Console.WriteLine("平均数：" + avg);
        }
        static int EoL2(ref int max, ref int min, ref int avg, int[] a)
        {
            int sum = 0;
            for (int i = 0; i < a.Length; i++)
            {
                sum = sum + a[i];
            }
            Array.Sort(a);
            max = a[4];
            min = a[0];
            avg = sum / 5;
            return sum;
        }
        static int EoL3(out int max, out int min, out int avg, int[] a)
        {
            int sum = 0;
            for (int i = 0; i < a.Length; i++)
            {
                sum = sum + a[i];
            }
            Array.Sort(a);
            max = a[4];
            min = a[0];
            avg = sum / 5;
            return sum;
        }
        public static int oun(fruit f)
        {
            int score = (int)f;
            return score;
        }
        public static void oun1(RPG z)
        {
            switch (z)
            {
                case RPG.战士:
                    Console.WriteLine("战士的技能：碎石打击、烈焰锚钩、战斗咆哮");
                    break;
                case RPG.法师:
                    Console.WriteLine("法师的技能：巨浪冲击、元素突击、复仇杀戮");
                    break;
                case RPG.精灵:
                    Console.WriteLine("精灵的技能：减速陷阱、能量浪潮、旋风剑舞");
                    break;
            }
        }
    }
}
